package com.higgins.eventtracking.client;

import java.util.Date;
import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.higgins.eventtracking.client.dto.AssetDTO;
import com.higgins.eventtracking.client.dto.FinanceGoalDTO;
import com.higgins.eventtracking.client.dto.InventoryDTO;
import com.higgins.eventtracking.client.dto.MealDTO;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("diettracking")
public interface DietTrackingService extends RemoteService {
	Boolean insertConsumption(Date timestamp, String meal,  Double calories, Double protein, Double fat, Double water)	throws IllegalArgumentException;
	Boolean hasEaten(int hours) throws IllegalArgumentException;
	Double retrieveCaloriesToday() throws IllegalArgumentException;
	Double retrieveProteinToday() throws IllegalArgumentException;
	Double retrieveFatToday() throws IllegalArgumentException;
	Double retrieveWaterToday() throws IllegalArgumentException;
	List<MealDTO> retrieveMeals() throws IllegalArgumentException;
	Boolean insertInventory(InventoryDTO dto) throws IllegalArgumentException;
}
